package elementosJuego;

import servidor.GestorJuego;

public class Jugador extends Figura{

    private int id;
    private Integer vida;

    public int getId() {
        return id;
    }

    public Jugador(Integer x0,Integer y0, GestorJuego gestorJuego, int id){
        super(x0,y0,40,40, gestorJuego);
        this.id = id;
        vida = 5;
    }

    @Override
    public void colisionoCon(Jugador c) {
        System.out.println("Jugador: Choque con un jugador.");
        this.returnCoord();
    }

    @Override
    public void colisionoCon(Bala c) {
        System.out.println("jugador: me choque con una bala");
        pierdeVida(-1);
    }

    @Override
    public void colisionoCon(Pared c) {
        System.out.println("Jugador: Choque contra una pared.");
        this.returnCoord();
    }

     private void pierdeVida(int i) {
        try {
            vida = vida + i;
            System.out.println("jugador "+id+ "vida: "+vida);
            getClass().getMethod("sinVida" + Boolean.valueOf(vida.equals(Integer.valueOf(0))).toString(), (Class[]) null).invoke(this, (Object[]) null);
        } catch (Exception ex) {}
    }

    public void sinVidatrue(){
        System.out.println("perdi: "+id);
        gestorJuego.eliminarJugador(id);
    }
    public void sinVidafalse(){}

    public int[] getPosicionBala(){
        int a[] = new int[2];
        if(apunta == 'A'){
            a[0]=x+20;
            a[1]=y;
        }else if(apunta == 'B'){
            a[0]=x+20;
            a[1]=y+40;
        }else if(apunta == 'D'){
            a[0]=x+40;
            a[1]=y+20;
        }else if(apunta == 'I'){
            a[0]=x;
            a[1]=y+20;
        }
        return a;
    }

    public Integer getVida(){
        return vida;
    }
}
